package com.sneakxy.cloudbase.platform.utils.web;

import java.lang.reflect.Method;

import org.apache.commons.lang3.StringUtils;

/**
 * MethodUtils拓展
 * @author 潜行的虚影
 *
 */
public class MethodUtilsExt {

	/**
	 * 通过反射函数，查找第一个方法名匹配，参数数量匹配的方法
	 * @param clazz 类型
	 * @param methodName 方法名
	 * @param parameterCount 参数数量
	 * @return
	 */
	public static Method findFirstMethod(Class<?> clazz, String methodName, int parameterCount) {
		Method[] methods = clazz.getMethods();
		Method result = null;
		if(methods != null) {
			for(Method method: methods) {
				if(StringUtils.equals(methodName, method.getName())) {
					if(method.getParameterCount() == parameterCount) {
						result = method;
						break;
					}
				}
			}
		}
		return result;
	}
	
}
